package com.aia.prm;

import org.springframework.transaction.PlatformTransactionManager;

import com.aia.prm.service.DefaultService;

public abstract class BeanFactory {
	static BeanFactory instance = new RealBeanFactory();

	BeanFactory() {
	}

	public static BeanFactory get() {
		return instance;
	}

	public abstract <T> T getBean(Class<? extends T> clazz);

	public abstract <T> T getBean(String beanName, Class<? extends T> clazz);

	public abstract Object getBean(String str);

	public abstract BeanFactory setWebApp(boolean argIsWebApp);

	public abstract Class<?> getType(String s);
	
	public abstract DefaultService getDefaultService();
	
	public abstract PlatformTransactionManager getPlatformTransactionManager();

}
